﻿using Abp.Domain.Entities.Auditing;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SingleUserMall.Authorization.Users
{
    /// <summary>
    /// 用户注册推广大使
    /// </summary>
    public class UserPromotion : FullAuditedEntity<long>
    {
        /// <summary>
        /// 用户id
        /// </summary>
        public long UserId { get; set; }
        [ForeignKey("UserId")]
        public virtual User User { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 性别（男/女）
        /// </summary>
        public Gender Gender { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public string Age { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        public string PhoneNumber { get; set; }
        /// <summary>
        /// 工作单位
        /// </summary>
        public string WorkUnit { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public VerifyStatus Status { get; set; }
        /// <summary>
        /// 描述
        /// </summary>
        public string Description { get; set; }
    }

    /// <summary>
    /// 性别
    /// </summary>
    public enum Gender
    {
        /// <summary>
        /// 未知
        /// </summary>
        [Description("未知")]
        Unknown = 0,
        /// <summary>
        /// 男
        /// </summary>
        [Description("男")]
        Male = 1,
        /// <summary>
        /// 女
        /// </summary>
        [Description("女")]
        Famale = 2,
    }
    /// <summary>
    /// 审核状态
    /// </summary>
    public enum VerifyStatus
    {
        /// <summary>
        /// 已驳回
        /// </summary>
        [Description("已驳回")]
        Rejected = -1,
        /// <summary>
        /// 等待审核
        /// </summary>
        [Description("等待审核")]
        WaitAudit = 0,
        /// <summary>
        /// 已审核
        /// </summary>
        [Description("已审核")]
        Audited = 1,
    }
}
